A fault-tolerant handling method in the related art as a method of applying a hardware fault-tolerant handling method primarily adopts a technique of performing error detection handling and performing error masking handling with respect to an error hardware module by using a voting module, through hardware multiplexing, that is, multiplexing of a CPU and peripheral I/O devices. However, there was a problem in which the method cannot be easily applied to a change in hardware technology due to hardware dependency.
Contrary to this, a software-type fault-tolerant handling method is presented and the fault is generally recovered by implementing check point handling, heartbeat handling, switch-over handling, and primary processor recovery handling functions in individual application processes. For example, when an application process A is generated in a processor 1 (primary processor), an application process A′ is generated in a processor 2 (backup processor). This process is called a checkpoint. Simultaneously, a message (heartbeat), “I'm alive” is given to other processors in all application processors every second and if this message is not received for several seconds, it is recognized that the fault occurs in the corresponding processor. If the processor 1 cannot execute the application process A due to the occurrence of the fault, the processor 2 senses the case to perform A′ which is a backup application process. In this case, the application process A′ continuously performs the checkpoint while A″ which is a backup process of the application process A′ is performed in a processor 3. The processor 1 may perform a recovering operation during the process.
However, in a first problem of this method, the application process A directly periodically makes the checkpoint to generate the application process A′ and a concept of the checkpoint is simple, but a high-level program technology is required to perform programming in the process. Further, users who actually use the corresponding system do not prefer to insert a code for the checkpoint into the application process due to security and safety. For example, when a process of making a bank account is performed in a computing system of a bank, and only a binary is provided without a source code, if a checkpoint function needs to be directly added to the inside of a back account program for fault-tolerant handling, the checkpoint function will not be used in spite of a good function. In a second problem, the processor 1 generates a checkpoint image, and thus the processor 2 transfers the entire checkpoint image to generate the process A′. There may be no problem if the number of images of the process A is one, but the processor 1 has a plurality of application processes in the actual system and a lot of time is required to transfer the information thereof to the processor 2. In a last problem, three processors are physically required. This causes a structure in which inexpensive equipment needs to be manufactured for fault-tolerant handling.